package com.yang.designmode.factory.SimpleFactory;

/**
 * 工厂模式：
 *  简单工厂模式
 *  汽车工厂：BYD和Audi
 */
public class SimpleFactory {
    public static void main(String[] args) {
        CarFactory.createCar("Audi").run();
        CarFactory.createCar("BYD").run();
        CarFactory.createCar("Benz").run();
    }
}


interface Car {
    void run();
}

//定义Car的实现类
class Audi implements Car  {
    @Override
    public void run()
    {
        System.out.println("Audi is running...");
    }
}

class BYD implements Car  {
    @Override
    public void run()
    {
        System.out.println("BYD is running...");
    }
}

//创建一个对应的简单工厂类
class CarFactory {
    //生产汽车的方法
    public static Car createCar(String type) {
        if(type.equals("Audi")){
            return new Audi();
        }else if(type.equals("BYD")){
            return new BYD();
        }
        throw new RuntimeException("没有这种类型的汽车");
    }
}